package com.seg.system.service;


import com.seg.system.domain.SelectData;
import com.seg.system.domain.TSparePart;
import com.seg.system.domain.TSparePartV;

import java.util.List;

/**
 * 【请填写功能名称】Service接口
 *
 * @author ruoyi
 * @date 2023-06-15
 */
public interface ITSparePartService {
    /**
     * 查询【请填写功能名称】
     *
     * @param id 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    public TSparePart selectTSparePartById(Long id);

    /**
     * 查询【请填写功能名称】列表
     *
     * @param tSparePart 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<TSparePart> selectTSparePartList(TSparePart tSparePart);

    /**
     * 新增【请填写功能名称】
     *
     * @param tSparePart 【请填写功能名称】
     * @return 结果
     */
    public int insertTSparePart(TSparePart tSparePart);

    /**
     * 修改【请填写功能名称】
     *
     * @param tSparePart 【请填写功能名称】
     * @return 结果
     */
    public int updateTSparePart(TSparePart tSparePart);

    /**
     * 批量删除【请填写功能名称】
     *
     * @param ids 需要删除的【请填写功能名称】主键集合
     * @return 结果
     */
    public int deleteTSparePartByIds(Long[] ids);

    /**
     * 删除【请填写功能名称】信息
     *
     * @param id 【请填写功能名称】主键
     * @return 结果
     */
    public int deleteTSparePartById(Long id);

    /**
     * 导入清单数据
     *
     * @param itemList
     * @param updateSupport
     * @param operName
     * @return
     */
    String importItemData(List<TSparePart> itemList, boolean updateSupport, String operName);

    String importSapData(List<TSparePartV> itemList, boolean updateSupport, String operName);

    List<SelectData> getMaterialType();

    List<SelectData> getPartStatus1();

    List<SelectData> getPartStatus2();

    List<SelectData> getProductLine();

    List<SelectData> getStation(String line);

    TSparePart getPartById(Long id);

    TSparePart getPartByMaterialNo(String materialNo);

    List<TSparePart> getPartByMaterialNos(Long[] materialNos);

    List<TSparePart> getPartByIds(Long[] ids);

}
